package org.szy.plugin.sys.service;

import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.query.QueryWrapper;
import org.szy.core.common.page.QueryPage;
import org.szy.core.common.param.CommonStatusParam;
import org.szy.core.common.service.BaseService;
import org.szy.plugin.sys.entity.SysRole;
import org.szy.plugin.sys.param.SysRoleQueryParam;

/**
 * 系统角色Service接口
 *
 * @author wangbuhao
 * @since 2023-06-26 20:06:27
 **/
public interface SysRoleService extends BaseService<SysRole> {

    /**
     * 获取系统角色查询Wrapper
     *
     * @author wangbuhao
     * @since 2023-06-26 20:06:27
     */
    QueryWrapper qwByQuery(SysRoleQueryParam param);

    /**
     * 获取系统角色分页
     *
     * @author wangbuhao
     * @since 2023-06-26 20:06:27
     */
    Page<SysRole> page(QueryPage<SysRole> page, SysRoleQueryParam param);

    /**
     * 添加系统角色
     *
     * @param entity 系统角色对象
     * @return 操作结果
     */
    boolean add(SysRole entity);

    /**
     * 编辑系统角色
     *
     * @param entity 系统角色对象
     * @return 操作结果
     */
    boolean edit(SysRole entity);

    /**
     * 修改系统角色状态
     *
     * @param param 状态参数
     * @return 是否成功
     */
    boolean modifyStatus(CommonStatusParam param);
}
